package com.hljx.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hljx.dto.SysDicItItemDTO;
import com.hljx.dto.SysDictPageDTO;
import com.hljx.entity.SysDictItem;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hljx.vo.SysDictItemVO;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * <p>
 * 字典项 服务类
 * </p>
 *
 * @author gx
 * @since 2023-09-18
 */
public interface SysDictItemService extends IService<SysDictItem> {

    /**
     * 保存或编辑字典数据项
     * @param sysDicItItemDTO
     * @return
     */
    Boolean saveOrUpdateDictItem(SysDicItItemDTO sysDicItItemDTO);

    /**
     * 删除
     * @param id
     * @return
     */
    Boolean deleteDictItem(Long id);

    /**
     * 修改字典数据项启动状态
     * @param id
     * @param status
     * @return
     */
    Boolean updateDictItemStatus(Long id, Integer status);

    /**
     *
     * 分页查询字典数据项
     * @param sysDictPageDTO
     * @return
     */
    IPage<SysDictItemVO> listSysDictItemByPage(SysDictPageDTO sysDictPageDTO);

    /**
     * 导出和下载模板
     * @param dto
     * @param response
     */
    void export(SysDictPageDTO dto, HttpServletResponse response) throws ClassNotFoundException;

    /**
     * 文件导入
     *
     * @param file     文件
     * @param response 返回信息
     * @throws ClassNotFoundException 实体类未找到
     */
    void importExcel(Long dictId,MultipartFile file, HttpServletResponse response) throws ClassNotFoundException, IOException;


}
